package com.wei.czz.common.vo.common.multiDict;

import com.wei.czz.common.jsr303.group.Delete;
import com.wei.czz.common.jsr303.group.Save;
import com.wei.czz.common.jsr303.group.Update;
import com.wei.czz.common.tool.BaseEntity;
import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * Created by IntelliJ IDEA.
 *
 * @author wyw
 * date: 2023-12-26 16:51:05
 * className: MultiDictVo
 * version: 1.0
 * description:
 */
@Getter
@Setter
public class MultiDictVo extends BaseEntity {

    /**
     * 主键
     */
    @NotNull(message = "主键不能为空", groups = { Update.class, Delete.class })
    private Long id;

    /**
     * 父级主键
     */
    @NotNull(message = "父级主键不能为空", groups = { Save.class, Update.class })
    private Long parentId;

    /**
     * 父级路径
     */
    @NotNull(message = "父级路径不能为空", groups = { Save.class, Update.class })
    private String parentPath;

    /**
     * 类型
     */
    @NotNull(message = "类型不能为空", groups = { Save.class, Update.class })
    private Integer type;

    /**
     * 名称
     */
    @NotBlank(message = "名称不能为空", groups = { Save.class, Update.class })
    private String name;

    /**
     * 值
     */
    @NotBlank(message = "值不能为空", groups = { Save.class, Update.class })
    private String value;

    /**
     * 排序等级
     */
    @NotNull(message = "排序等级不能为空", groups = { Save.class, Update.class })
    private Integer sort;

    /**
     * 默认状态[0-是 1-否]
     */
    @NotNull(message = "默认状态不能为空", groups = { Save.class, Update.class })
    private Integer defaultStatus;

}
